
package com.insigma.business.qrcode.soldier.dao;



import com.insigma.business.qrcode.common.annotation.Crypt;
import com.insigma.business.qrcode.soldier.dto.PlacementSoldierAspirationResultBSearcher;
import com.insigma.business.qrcode.soldier.entity.PlacementSoldierAspirationResultDO;
import org.apache.ibatis.annotations.Param;

import java.util.List;


public interface PlacementSoldierAspirationResultDao {

    
    List<PlacementSoldierAspirationResultDO> search(final PlacementSoldierAspirationResultBSearcher innerSearcher);

    
    PlacementSoldierAspirationResultDO get(final String id);

    
    Integer insert(final PlacementSoldierAspirationResultDO placementSoldierAspirationResultDO);

    
    Integer update(final PlacementSoldierAspirationResultDO placementSoldierAspirationResultDO);

    
    Integer delete(@Param("id") final String id,
                   @Param("modifierType") final String modifierType,
                   @Param("modifierId") final String modifierId);

    int countByPositionId(String positionId);

    PlacementSoldierAspirationResultDO getBySoldierId(String soldierId);

    @Crypt(encryptParamIndex = {0})
    PlacementSoldierAspirationResultDO getByIdCardNo(String idCardNo);

    List<PlacementSoldierAspirationResultDO> listByBatchId(String batchId);

    @Crypt(encryptParamIndex = {0})
    int countByIdCardNo(String idCardNo);

    Integer deleteByPositionId(@Param("positionId") String positionId, @Param("modifierType") String modifierType, @Param("modifierId") String modifierId);
}
